\chapter{Report Editor : Module d'édition du fichier Report}\label{ch:report}

%\section
%\subsection
%\subsubsection
%\paragraph{Import à partir d'un fichier}

\section{Element Configuration}

\subsection{Interpreteurs}

Le module report utilise également le modèle Treeview développé au chapitre \ref{ch:treeviewModel}. Nous allons donc décrire rapidement les nouveaux éléments.L'ensemble des interpreteurs utilisables au sein du module \textit{Report Editor} doit être placer dans le package \textit{com.orange.depfs.manager.treemodel.report}.

\paragraph{Reports : InterpretorReports} correspond à la balise racine de notre fichier. Celle-ci n'apporte aucun comportement particuliers.

\paragraph{Request : InterpretorRequest} permet de choisir une Star parmi celles accessibles sur \textit{newtv\_dev}, puis en fonction de la star, de sélectionner les dimensions et colonnes à analyser.

\subsection{Barre d'outil}

La barre d'outil fournit un ensemble de bouton pour ajouter l'élément choisi sous l'élément courant. Le choix est effectué selon le \textit{data-element} du bouton comme on peut le découvrir dans la fonction \textit{js/report/main.js : toolboxManagement()}. Pour ajouter un nouveau bouton, on peut donc juste le spécifier dans notre fichier \textit{reportEditor.jsp} adjoint de l'attribut \textit{data-element} souhaité.

\section{Manual Configuration}

Il s'agit de l'éditeur de texte standard définit dans le chapitre \ref{ch:treeviewModel} et également présent au sain de \loaderName.

\section{Html Preview}

On peut tester à tout moment la validité et le rendu de notre fichier Report via l'onglet \textit{Html Preview}. La page est chargé via une iframe et tant que celle-ci n'est pas entièrement chargée l'icone de chargement restera affichée. On ne souhaite pas que l'utilisateur puisse naviguer au sein de cette iframe. Les actions au sein de cette Iframe sont donc limitées (les \textit{href} sont modifiés).

\begin{figure}
\centering
\includegraphics[scale=0.7]{../img/impEcr/report2.png}
\caption{Configuration de l'élément request}
\label{reportRequest}
\end{figure}

\chapter{Divers}

\section{qTips}

Une dernière fonctionnalité disponible est le bouton d'aide en haut à droite des différentes interfaces. Celui-ci lance une démonstration/description pas à pas de notre module.

Le fichier \textit{js/extractorEditor/helpAssistant.js} précise l'algorithme pour utiliser notre assistant. Ainsi la fonction \textit{startHelp} doit être redéfinie comme pour l'exemple \ref{ex_startHelp}, ceci permettant à toute fenêtre de réaliser un tutorial ou démonstration adapté.

\begin{lstlisting}[label=ex_startHelp,caption=Exemple implémentation startHelp]
function startHelp() {
	var obj = new wizardHelp( //On cree un nouvel objet wizardHelp avec en parametre le tableau des etapes
		[
			 { target: $('#selDimPfs'),  //La cible de notre etape
				 title: 'Step 1', 	//Le titre de l'etiquette
				 content: 'Choose a plateform name or add a new one', //Contenu de l'etiquette
				 action : function(){$('#selDimPfs').val('CORE');},	//action a realiser avant de "quitter" l'etape
				 position : { //Position de l'etiquette par rapport a la cible, valable jusqu'a redefinition
					 my: 'middle left',
					 at: 'middle right',
				 }
			 },
			 { target: $('#selDimSrvType'), 
				 title: 'Step 2', 
				 content: 'Select a server type or add a new one',
				 action : function(){
					 $('#selDimSrvType').val('OPENACM');
				 }
			 }
		];
		obj.init(); // Lancement de la demo
}
\end{lstlisting}